package com.hyfd.controller.mp;

import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.hyfd.controller.sys.BaseController;
import com.hyfd.service.mp.ProviderDataGroupSer;

/**
 * @功能描述： 流量通道组相关
 *
 * @作者：zhangpj @创建时间：2016年12月17日
 */
@Controller
// @Scope("prototype") //开启非单例模式 用于并发控制
public class ProviderDataGroupCtl extends BaseController
{
    
    @Autowired
    private ProviderDataGroupSer providerDataGroupSer;
    
    /**
     * 跳转到列表页面 使用get方式提交
     * 
     * @param req
     * @return
     */
    @GetMapping("providerDataGroupListPage")
    public String providerDataGroupListPage()
    {
        return "mp/providerDataGroupList";
    }
    
    /**
     * 获取列表流量 只能使用get方式提交
     * 
     * @param req
     * @return
     */
    @GetMapping("providerDataGroup")
    @ResponseBody
    public String providerDataGroupGet(HttpServletRequest req)
    {
        return providerDataGroupSer.providerDataGroupList(req);
    }
    
    /**
     * @功能描述： 不分页根据条件获取全部流量通道组列表流量
     *
     * @作者：zhangpj @创建时间：2016年12月17日
     * @param req
     * @return
     */
    @GetMapping("providerDataGroupAll")
    @ResponseBody
    public String providerDataGroupAllGet(HttpServletRequest req)
    {
        return providerDataGroupSer.providerDataGroupAllList(req);
    }
    
    /**
     * 流量通道组添加页面显示 只能使用get方式提交
     * 
     * @return
     */
    @GetMapping("providerDataGroupAddPage")
    public String providerDataGroupAddPage()
    {
        return "mp/providerDataGroupAdd";
    }
    
    /**
     * 创建流量通道组对象只能用post方式来提交
     * 
     * @param req
     * @return
     */
    @PostMapping("providerDataGroup")
    public String providerDataGroupPost(HttpServletRequest req)
    {
        return providerDataGroupSer.providerDataGroupAdd(req);
    }
    
    /**
     * 跳转到详情页面 要使用get方式提交
     * 
     * @return
     */
    @GetMapping("providerDataGroupDetailPage/{id}")
    public String providerDataGroupDetailPage(@PathVariable("id") String id)
    {
        return providerDataGroupSer.providerDataGroupDetailPage(id);
    }
    
    /**
     * 显示编辑页面请求路径中要包括需要修改的ID
     * 
     * @param id
     * @return
     */
    @GetMapping("providerDataGroupEditPage/{id}")
    public String providerDataGroupEditPage(@PathVariable("id") String id)
    {
        return providerDataGroupSer.providerDataGroupEditPage(id);
    }
    
    /**
     * 更新流量通道组信息 只能用put方式提交
     * 
     * @param id
     * @param req
     * @param res
     * @return
     */
    @PutMapping("providerDataGroup/{id}")
    @ResponseBody
    public String providerDataGroupPut(@PathVariable("id") String id, HttpServletRequest req)
    {
        return providerDataGroupSer.providerDataGroupEdit(req, id);
    }
    
    /**
     * 删除流量通道组方法 只能用delete请求需要在请求路径中添加要删除的流量通道组编号
     * 
     * @param id
     * @param req
     * @param res
     * @return
     */
    @DeleteMapping("providerDataGroup/{id}")
    @ResponseBody
    public String providerDataGroupDel(@PathVariable("id") String id)
    {
        return providerDataGroupSer.providerDataGroupDel(id);
    }
    
    @GetMapping("getDataGroupRoleFlag/{suId}/{id}")
    @ResponseBody
    public Map<String, Object> getDataGroupRoleFlag(@PathVariable("suId") String suId, @PathVariable("id") String id)
    {
        return providerDataGroupSer.getDataGroupRoleFlag(suId, id);
    }
}